Índice

[[#Fase de construcción de un agente de almacén de datos]]
[[#Fuentes de datos para almacenes de datos]]
[[#Conectores de datos en agentes conversacionales]]
[[#Conectar a un agente]]
[[#Configuraciones de búsqueda avanzada]]
[[#Problemas comunes y soluciones]]


Fase de construcción de un agente de almacén de datos

Después de definir el alcance y el diseño, el siguiente paso es la fase de construcción, que comienza con la elección del tipo de almacén de datos.

Tipos de almacenes de datos y sus fuentes

Hay tres tipos principales de almacenes de datos, cada uno con diferentes fuentes y mecanismos de entrada:

  1. Datos web: Para contenido público, como sitios web.

  2. Datos no estructurados: Para contenido privado, como documentos PDF o HTML sin un formato fijo.

  3. Datos estructurados: Para contenido privado, organizado en un formato específico, como preguntas y respuestas.

Aunque hay 3 tipos de almacenes, existen 10 fuentes de datos posibles.


Tipos de almacenes de datos en detalle

  1. Almacenes de datos web (Website data stores)

    • Cómo funcionan: Utilizan un rastreador de búsqueda que indexa el contenido de una URL pública.

    • Consideraciones:

      • Los archivos PDF en el sitio web también son indexados.

      • Existe un límite de 1 millón de documentos por almacén. Si tu sitio excede este límite, debes considerar otra opción.

      • El rastreador respeta el archivo robots.txt, por lo que solo indexará las URLs permitidas.

  2. Almacenes de datos no estructurados (Unstructured data stores)

    • Cómo funcionan: Permiten subir datos sin una estructura fija, como PDF o HTML.

    • Con metadatos: Altamente recomendado. Se suben archivos JSONL, donde cada línea es un objeto JSON que describe un documento (con su ID, URI, título y URL opcionales).

    • Sin metadatos: Es más simple, solo se suben los archivos directamente. Sin embargo, no se usarán los títulos de los documentos para la indexación o recuperación.

    • Límite: El tamaño máximo por documento es de 100 Megabytes.

  3. Almacenes de datos estructurados (Structured data stores)

    • Cómo funcionan: Almacenan información en un formato organizado (esquema) como preguntas y respuestas, títulos y URLs.

    • Usos: Ideales para preguntas frecuentes (FAQs). Cuando una pregunta del usuario coincide con una pregunta del almacén con alta confianza, el agente devuelve la respuesta correspondiente sin modificaciones.

    • Formato de subida: Los datos deben estar en formato CSV, con un encabezado que describa las columnas (ej., question, answer, title, URL). Los campos title y URL son opcionales.


Fuentes de datos para almacenes de datos

La elección de la fuente de datos depende de si necesitas usar información pública o privada y del formato de tus datos.

1. Sitios web públicos 🌐

2. Cloud Storage ☁️

3. BigQuery 📊


Conectores de datos en agentes conversacionales

Los conectores permiten a los agentes conversacionales interactuar con fuentes de datos externas y realizar acciones en ellas. Hay dos tipos principales:

  1. Fuentes de Google: Como Google Calendar, Google Sites, Google Storage o BigQuery.

  2. Fuentes de terceros: Sistemas externos que también pueden ser integrados.

Consideraciones importantes:


Partes de una integración

La mayoría de las integraciones constan de dos partes:


Pasos para crear un conector

Existen tres pasos principales para configurar un conector y un almacén de datos asociado:

  1. Configurar un proveedor de identidad:

    • Propósito: Autenticar y autorizar al agente para acceder al sistema externo.

    • Opciones:

      • Google Identity: Los usuarios inician sesión con sus credenciales de Google (Gmail, Google Workspace). Se puede usar IAM para asignar accesos. Si se usa directamente con Google Cloud, la identidad de Google está integrada.

      • Proveedor de identidad de terceros: Los usuarios usan credenciales no-Google. Requiere crear un Pool de Identidad de Trabajo (Workforce Identity Pool) en Google Cloud y configurar el proveedor (ej., Okta). Se usa IAM para asignar permisos. No aplica para proyectos @google.com.

  2. Configurar el conector:

    • Cada conector puede contener múltiples almacenes de datos, que se guardan como entidades en el sistema conversacional.

    • Si usas un proveedor de identidad de terceros, necesitas crear el Pool de Identidad de Trabajo y configurar el proveedor en la consola de Identidad de Trabajo (Workforce Identity Federation).

    • Luego, en la consola de IAM, asigna permisos como Dialogflow API Admin y Discovery Engine Viewer al pool.

    • En la consola de AI Applications, configura la autenticación por defecto (global o por ubicación), eligiendo entre tu identidad de Google o la de terceros (vinculando el Pool de Identidad de Trabajo creado).

  3. Crear el almacén de datos:

    • En la consola de AI Applications, crea un nuevo almacén de datos.

    • Selecciona tu proveedor de terceros (ej., Salesforce).

    • Configura los detalles específicos de la integración (ej., Client ID, secret, URL de la instancia).

    • Elige las identidades a sincronizar (que se representarán como Entidades de Agente Conversacional).

    • Selecciona la ubicación correcta (ej., Global).

    • Define un nombre y la frecuencia de sincronización (ej., diaria, cada 3 o 5 días).

    • Puedes ver el historial de sincronización en la pestaña Data Ingestion.


Conectar a un agente

1. Conectar el almacén de datos 🔗

Existen dos formas de conectar un almacén de datos a un agente:


2. Configurar el comportamiento de IA generativa 🤖

Puedes personalizar el comportamiento del agente de IA generativa en la sección "Generative AI" de la configuración del agente.


3. Personalizar respuestas con información del usuario 🧑‍💼

Puedes personalizar las respuestas del agente añadiendo información sobre el usuario final. Esto se puede hacer de dos maneras:

  1. A través de la API: Pasa la información en formato JSON en cada solicitud detectIntent utilizando el campo queryParams.endUserMetadata.

  2. Con Conversational Messenger: Usa el método set context para enviar la información solo una vez por sesión.


Configuraciones de búsqueda avanzada

Puedes modificar el comportamiento de las solicitudes de búsqueda utilizando controles de servicio (serving controls). Para que un control funcione, debes crearlo y luego adjuntarlo a una configuración de servicio (serving config). Un control no tiene efecto si no está adjunto a ninguna configuración de servicio.

Estos controles son configuraciones avanzadas que requieren interactuar directamente con la API.


Tipos de controles

Existen dos tipos principales de controles de búsqueda:


Configuraciones adicionales

Puedes añadir los siguientes elementos a un control para definir cuándo debe aplicarse:


Sintaxis de la expresión de filtro

Un control de filtro utiliza una sintaxis de expresión específica. Por ejemplo, la condición de un filtro se define con el DATASTORE_ID (el nombre completo del almacén de datos) y una condición que sigue la sintaxis de expresiones de filtro de la plataforma de AI Applications.


Problemas comunes y soluciones